package photobox.order

import photobox.photo.Photo
import photobox.photo.PhotoFrame
import photobox.photo.PhotoPaper
import photobox.photo.PhotoSize

/**
 * 订单项
 */
class OrderItem {


    PhotoFrame  photoFrame      //镜框
    PhotoPaper  photoPaper      //纸张
    PhotoSize  photoSize        //尺寸
    Photo photo

    /*
     * 为了避免订单下订单后变更价格产生冲突,这里保存当时的价格,并以此为准
     */
    Float  framePrice       //相框价格
    Float  paperPrice       //纸张价格
    Float  photoPrice       //图片价格
    Float  packingPrice       //包装价格

    //Integer adornType //装裱方式
    Integer number  //数量

    static belongsTo = [order: Order]

    static mapping = {
        table 'odr_order_item'
    }

    static constraints = {
        //下面几个nullable只是为了强调,默认就是false
        photoSize  nullable: false
        photoFrame nullable: false  //可以在相框中定义一个特殊项作为无相框
        photoPaper  nullable: false //可以在纸张中定义一个特殊项作为无价格纸张

        framePrice  scale: 2, min: 0.0f, max: Float.MAX_VALUE
        paperPrice  scale: 2, min: 0.0f, max: Float.MAX_VALUE
        photoPrice  scale: 2, min: 0.0f, max: Float.MAX_VALUE
    }
}
